This invention relates to automated banking machines. Specifically this invention relates to an automated banking machine apparatus and system that is capable of producing diagnostic information related to the operation of the machine.
Automated banking machines are well known. A common type of automated banking machine used by consumers is an automated teller machine (xe2x80x9cATMxe2x80x9d). ATMs enable customers to carry out banking transactions. Common banking transactions that may be carried out with ATMs include the dispensing of cash, the receipt of deposits, the transfer of funds between accounts, the payment of bills and account balance inquiries. The type of banking transactions a customer can carry out are determined by capabilities of the particular banking machine and the programming of the institution operating the machine. Other types of automated banking machines may allow customers to charge against accounts, to pay bills, to transfer funds or to cash checks. Other types of automated banking machines may print or dispense items of value such as coupons, tickets, wagering slips, vouchers, checks, food stamps, money orders, scrip or travelers checks. For purposes of this disclosure references to an ATM, an automated banking machine, automated transaction machine or an ATM shall encompass any device which carries out transactions including transfers of value.
ATMs generally capture errors and status messages associated with the operation of transaction function devices and other components of the ATM. Such error and status messages may for example indicate a date and time that a specific function of a specific device failed to operate properly. Such error and status messages may be recorded in a non-volatile data store which remains intact when the ATM is turned off. Such data stores may include a non-volatile RAM (NVRAM) of the ATM, or any other data store which can maintain a listing of error and status messages for extended periods of time.
ATMs may include data stores for storing error and status messages which are limited in the total amount of data that can be stored at any one time. As a result, the ATM""s may be configured to only store the most recent error and status messages. When the data stores are completely filled with data, the older records related to the oldest error and status messages are deleted from the data store as new error and status messages are inserted into the data store.
Unfortunately, if a device produces only a few errors spread over a long period of time, a record of those errors may be deleted from the data store before the service technician has an opportunity to view the error messages for that device in the data store. Consequently, there exists a need for a system and method of retaining a larger number of error and status messages which are available for the service technician to view.
ATMs may include one or more output devices such as a display device. ATMs may also include terminal control software which is operative to provide user interfaces through the display device of the ATM. Such user interfaces may output viewable information to enable consumers to perform transactions and to enable service technicians to repair and service the ATM. ATMs may also include function keys, keypads, and other input devices which may be used to navigate through a user interface of the ATM. Such devices may not be as flexible as the input and output devices typically associated with a late model personal computer. For example, many ATMs often have display devices which are limited to producing user interfaces with character based displays or graphical displays which have low resolutions. Also, many ATMs do not include mice or full QWERTY style keyboards. Such limitations in the features of the input and output devices of an ATM may limit the productivity of service technicians when servicing and repairing an ATM. For example, the low resolution of an ATM display may only allow a limited number of error and status messages to be displayed at one time. The cumbersome use of a keypad to navigate through a user interface may increase the amount of time it takes to service and repair an ATM. Consequently there exists a need for a system and method of improving the productivity of a service technician with regard to accessing error and status messages of an ATM.
In addition although error messages may be collected within the NVRAM of some ATMs, the terminal control software of these ATMs may not be capable of displaying the details of the error messages at the ATM. When an ATM must be serviced, a service technician may not be able to easily identify the problems with the ATM without viewing the full details of the error messages stored in the NVRAM of the system. Thus, there further exists a need for a system of viewing error and status messages generated by the hardware of an ATM which may not be otherwise displayable at the ATM.
It is an object of an exemplary form of the present invention to provide a system and method for accessing information stored in an ATM.
It is a further object of an exemplary form of the present invention to provide a system and method for accessing diagnostic information stored in an ATM.
It is a further object of an exemplary form of the present invention to provide a system and method for accessing operational error and status messages stored in an ATM.
It is a further object of an exemplary form of the present invention to provide a system and method for retaining a larger number of error and status messages generated by an ATM.
It is a further object of an exemplary form of the present invention to provide a system and method for improving the productivity of a service technician with regard to accessing error and status messages of an ATM.
Further objects of exemplary forms of the present invention will be made apparent in the following Best Modes for Carrying Out Invention and the appended claims.
The foregoing objects may be accomplished in an exemplary embodiment by an automated banking machine that includes output devices such as a display screen and receipt printer. The machine may further include input devices such as a touch screen, keyboard, keypad, function keys, and card reader. The automated banking machine may further include transaction function devices such as a cash dispenser mechanism for sheets of currency, a depository mechanism and other transaction function devices which are used by the machine in carrying out banking transactions including transfers of value. In the exemplary embodiment the automated banking machine may include at least one computer. The computer may be in operative connection with the output devices and the input devices, as well as with the cash dispenser mechanism, depository mechanism and other physical transaction function devices in the banking machine. The computer may further be operative to communicate with a host system located remotely from the machine.
In the exemplary embodiment, the computer may include terminal control software components that are executable therein. The terminal control software components of the automated banking machine may be operative to cause the computer to output user interface screens through a display device of the machine. The user interface screens may include consumer screens which provide a consumer with information for performing consumer operations such as banking functions with the machine. The computer may operate responsive to the terminal control software components to control and communicate, with hardware devices of the machine including the transaction function devices.
In one exemplary embodiment, a diagnostic server software component for an automated banking machine may be installed on the machine. The diagnostic server software component may be operative to periodically retrieve error and status messages and other diagnostic messages from a nonvolatile memory of the machine and store the messages on the hard drive of the machine. In one exemplary embodiment the diagnostic server software component may be operative to retrieve the diagnostic messages by periodically directing a computer of the machine to read a specific portion or range of memory addresses of the nonvolatile memory. In a further exemplary embodiment the diagnostic server software component may be operative to periodically send instructions to the terminal control software which prompt the terminal control software to retrieve diagnostic messages from the nonvolatile memory of the machine. Once the diagnostic messages have been retrieved from the nonvolatile memory, the diagnostic server software component may be operative to save the diagnostic messages in a data store located on a hard drive of the automated banking machine.
In exemplary embodiments, the diagnostic server software component may be operative to communicate with an external computing device through a communication port of the automated transaction machine. Such a communication port may include a network connection, a parallel port, a serial port, or other external port of the automated transaction machine that is operative to send and receive messages with an externally located computing device.
The exemplary embodiment of the diagnostic server software component may operate responsive to messages received from the external computing device to send all or portions of the diagnostic messages stored on the hard drive to the external computing device. In addition in alternative exemplary embodiments, the diagnostic server software component may be operative to initiate the transfer of one or more diagnostic messages stored on the hard drive to an address associated with the external computing device.
The exemplary diagnostic server software may further be operative to route transaction messages between the terminal control software of the machine and a remote host system. For example in an automated banking machine configured to communicate with a host system through a TCP/IP network, the terminal control software may be configured to send messages for the host to a TCP/IP address and port associated with the diagnostic server software component. The diagnostic server software component may then be configured to forward the messages received from the transaction software of the machine to a TCP/IP address and port associated with the host system. Likewise, the diagnostic server software component may be configured to receive messages sent from the host system to the automated banking machine. The diagnostic server software component may then forward the messages received from the host system to a TCP/IP address and port associated with the terminal control software.
In this described exemplary embodiment, the diagnostic server software may retrieve diagnostic messages by sending to the TCP/IP address and port associated with the terminal control software, a message representative of a command to return diagnostic messages to the host system. When the terminal control software subsequently sends the diagnostic message to the host system, the exemplary diagnostic server software may be operative to intercept the message and store the diagnostic messages in a data store on the hard drive of the machine. The diagnostic server software application may further be operative to not route the diagnostic messages to the address of the host system.
In further exemplary embodiments, the diagnostic server software component may be operative responsive to communications from the external computing device to delete all or portions of the diagnostic messages stored on the hard drive of the machine. The diagnostic server software component may further be operative responsive to communications from the external computing device to change a parameter associated with the duration period at which the diagnostic server software periodically retrieves diagnostic messages from the nonvolatile RAM of the machine.
The diagnostic server software component may further be operative responsive to communications from the external computing device to change communication parameters associated with the network addresses and ports used to communicate with the terminal control software, the host system, and external computing devices.